package br.ifrn.diacin.ctrlAula.integracao.dao;

import java.io.Serializable;
import java.util.List;

import javax.ejb.Local;
import javax.persistence.EntityManager;

@Local
public interface GenericDAOLocal {

	public abstract <T> T pesquisarPorId(Class<T> entidadeClass, Serializable id);

	public abstract <T> List<T> listarTodos(Class<T> entidadeClass);

	public abstract <T> List<T> listarComRestricao(Class<T> entidadeClass,
			String restricao);

	public abstract <T> void salvar(T entidade);

	public abstract <T> T atualizar(T entidade);

	public abstract <T> void excluir(T entidade);

	public abstract <T> void excluirPorId(Class<T> entidadeClass,
			Serializable id);

	public abstract EntityManager getEm();

}